﻿using System;

namespace Quicklight.Web {

   /// <summary>
   /// The IObservable interface is implemented by a class that has a value that can change and has to notify other objects if it does change
   /// </summary>
   public interface IObservable {
      
      /// <summary>
      /// The ValueChanged event is fired if the value returned by the Value property changes
      /// </summary>
      event EventHandler ValueChanged;

      /// <summary>
      /// The Value property returns the value of the field being observed
      /// </summary>
      object Value { get; }
   }
}
